In an ultrasound imaging system, a front-end transmitted waveform is modulated both in amplitude and in phase after entering a human body, and the resultant echo must be demodulated before obtaining the information about the modulated wave. The demodulation is a process for frequency shifting and low pass filtering. The ultrasound wave exhibits different frequency attenuation characteristics in different depths inside the human body. The deeper the ultrasound wave reaches inside the body, the more high frequency components attenuate. Therefore, the central frequency of the echo decreases gradually with the increasing depth, so does the echo bandwidth. As a consequence, the cut-off angular frequency of the filter decreases gradually with time. As the cut-off angular frequency of the filter determines the filter coefficients, the filter coefficients may be also adjusted with time.
FIG. 1 shows a typical signal processing flow of an ultrasound imaging system. Upon beamforming, ultrasound echo signals are combined to form a radio frequency echo signal, which is then frequency shifted to obtain both baseband components and multiple frequency components. Only the baseband components are left when both components are low pass filtered. The echo data is deinterleaved to obtain scan data at the same position but at different times, and then is filtered by a wall filter, which is a high pass filter that removes the stronger low frequency tissue motion components and retains the weaker high frequency blood stream motion components. An auto-correlation operation is performed on the wall-filtered data to obtain the components of the speed vector of the blood stream on the coordinate axes and the blood stream energy information. These blood stream parameters are then further processed to obtain the speed, energy and variance information of the blood stream, and the information on these parameters is displayed after a scan conversion.
In principle, the above demodulation process is typical and simple, which comprises frequency shifting and filtering only. The filtering process can be implemented with the knowledge of the filter coefficients only. There are numerous methods for obtaining the filter coefficients. One is to prepare the coefficients in advance, which will be written into the on-chip random access memory or the off-chip storage apparatus of a programmable device using system software. When a coefficient is used, it will be fetched from the on-chip random access memory or the off-chip storage apparatus. However, when the filter order is approximately up to several hundreds of orders and the number of bits for quantization is high, for the filter that is changed with time, an intolerably high demand will be placed on the storage capacity if the coefficients needs pre-storing in the on-chip random access memory. For example, in case of a 100-order filter, 16-bit quantization and 20 sets of coefficients to be stored, the total storage capacity is 100*16*20=32 Kbits. Though the demand on the storage capacity is acceptable when using an off-chip storage apparatus, the filtering is finished at the expense of the addition of extra off-chip storage apparatus. Therefore, this method is inadvisable for the filter.
U.S. Pat. No. 6,142,942 by Clark et al. introduces a method of adaptive filter coefficient generation. The method need not store a large number of coefficients, as the coefficients are generated in real time. According to this method, the coefficients are generated in different time periods taking advantage of the statistical characteristics of the echo data. The data are then filtered to be further processed.
As above described, there are two methods for generating filter coefficients in the prior art. One is to generate all of the coefficients in advance, and store these coefficients in the on-chip or off-chip storage apparatus, which will be fetched from the storage apparatus when they are used. This method is applicable when the filter order is small and small sets of coefficients are to be stored. However, in an ultrasound imaging system, the filter order is high, normally up to several hundreds of orders, and dozens of different coefficient sets are to be stored, which take up a huge amount of storage space. For the adaptive filter, the coefficients need not be pre-stored, but generated in real time in accordance with the statistical characteristics of the data in different time periods. However, this method demands a large amount of statistical signal processing, so the algorithm is rather complicated and time-consuming. For the programmable device with limited resources, the second method is also inadvisable.